A server is constituted by a central processing unit (CPU), a memory, and a peripheral. To improve computing performance of the server, the server may be constituted in a scale-up or scale-out manner.
In a large scale-up server, a multi-channel server is constituted using multiple CPUs. Several CPUs are interconnected using a system bus, and share a memory and a peripheral to constitute a node. Nodes are connected using a special-purpose chip such as a node controller, and a CPU in a node may access a memory and a peripheral of another node. The node controller mainly processes cache coherence between the CPUs. Although costs of the multi-channel server are relatively high, a computing speed is very fast. Therefore, the multi-channel server is applicable to a scenario in which a response needs to be made quickly, for example, a real-time system such as an online transaction processing (OLTP) system.
In a scale-out server system, servers that are independent from each other are interconnected using a peripheral network device. For example, the servers are interconnected using an Ethernet card, an INFINIBAND network adapter through a switch. Multiple servers perform collaborative computing such that a cluster server is constituted. Each independent server in the cluster server is referred to as a node. The cluster server has relatively low costs, good scalability, and a relatively high fault-tolerance rate, but a computing speed of the cluster server is lower than that of a multi-channel server. Therefore, the cluster server is applicable to a large-scale distributed computing scenario having a low requirement on a response time.
In order to constitute a multi-channel server using a node controller, two types of apparatuses, that is, a processor and the node controller, need to be researched and developed, leading to extra research and development expenses. A node in a multi-channel server and a node in a cluster server cannot be directly switched to each other. For the node in the multi-channel server, a necessary peripheral such as a network adapter needs to be additionally installed to constitute a cluster server, and for the node in the cluster server, a node controller needs to be additionally installed to constitute a multi-channel server.